<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Eigen: Eigen::BDCSVD&lt; MatrixType_, Options_ &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="eigendoxy.css" rel="stylesheet" type="text/css">
<!--  -->
<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="Eigen_Silly_Professor_64x64.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname"><a href="http://eigen.tuxfamily.org">Eigen</a>
   &#160;<span id="projectnumber">3.4.90 (git rev 67eeba6e720c5745abc77ae6c92ce0a44aa7b7ae)</span>
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.svg"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classEigen_1_1BDCSVD.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="classEigen_1_1BDCSVD-members.html">List of all members</a> &#124;
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">Eigen::BDCSVD&lt; MatrixType_, Options_ &gt; Class Template Reference<div class="ingroups"><a class="el" href="group__DenseLinearSolvers__chapter.html">Dense linear problems and decompositions</a> &raquo; <a class="el" href="group__DenseLinearSolvers__Reference.html">Reference</a> &raquo; <a class="el" href="group__SVD__Module.html">SVD module</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename MatrixType_, int Options_&gt;<br />
class Eigen::BDCSVD&lt; MatrixType_, Options_ &gt;</h3>

<p>class Bidiagonal Divide and Conquer SVD </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">MatrixType_</td><td>the type of the matrix of which we are computing the SVD decomposition</td></tr>
    <tr><td class="paramname">Options_</td><td>this optional parameter allows one to specify options for computing unitaries <em>U</em> and <em>V</em>. Possible values are <a class="el" href="group__enums.html#ggae3e239fb70022eb8747994cf5d68b4a9aa7fb4e98834788d0b1b0f2b8467d2527">ComputeThinU</a>, <a class="el" href="group__enums.html#ggae3e239fb70022eb8747994cf5d68b4a9a540036417bfecf2e791a70948c227f47">ComputeThinV</a>, <a class="el" href="group__enums.html#ggae3e239fb70022eb8747994cf5d68b4a9a9fa9302d510cee20c26311154937e23f">ComputeFullU</a>, <a class="el" href="group__enums.html#ggae3e239fb70022eb8747994cf5d68b4a9a36581f7c662f7def31efd500c284f930">ComputeFullV</a>. It is not possible to request both the thin and full version of <em>U</em> or <em>V</em>. By default, unitaries are not computed.</td></tr>
  </table>
  </dd>
</dl>
<p>This class first reduces the input matrix to bi-diagonal form using class UpperBidiagonalization, and then performs a divide-and-conquer diagonalization. Small blocks are diagonalized using class <a class="el" href="classEigen_1_1JacobiSVD.html" title="Two-sided Jacobi SVD decomposition of a rectangular matrix.">JacobiSVD</a>. You can control the switching size with the setSwitchSize() method, default is 16. For small matrice (&lt;16), it is thus preferable to directly use <a class="el" href="classEigen_1_1JacobiSVD.html" title="Two-sided Jacobi SVD decomposition of a rectangular matrix.">JacobiSVD</a>. For larger ones, <a class="el" href="classEigen_1_1BDCSVD.html" title="class Bidiagonal Divide and Conquer SVD">BDCSVD</a> is highly recommended and can several order of magnitude faster.</p>
<dl class="section warning"><dt>Warning</dt><dd>this algorithm is unlikely to provide accurate result when compiled with unsafe math optimizations. For instance, this concerns Intel's compiler (ICC), which performs such optimization by default unless you compile with the <code>-fp-model</code> <code>precise</code> option. Likewise, the <code>-ffast-math</code> option of GCC or clang will significantly degrade the accuracy.</dd></dl>
<dl class="section see"><dt>See also</dt><dd>class <a class="el" href="classEigen_1_1JacobiSVD.html" title="Two-sided Jacobi SVD decomposition of a rectangular matrix.">JacobiSVD</a> </dd></dl>
</div><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for Eigen::BDCSVD&lt; MatrixType_, Options_ &gt;:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classEigen_1_1BDCSVD__inherit__graph.png" border="0" usemap="#aEigen_1_1BDCSVD_3_01MatrixType___00_01Options___01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="aEigen_1_1BDCSVD_3_01MatrixType___00_01Options___01_4_inherit__map" id="aEigen_1_1BDCSVD_3_01MatrixType___00_01Options___01_4_inherit__map">
<area shape="rect" title="class Bidiagonal Divide and Conquer SVD" alt="" coords="11,1085,207,1485"/>
<area shape="rect" href="classEigen_1_1SVDBase.html" title=" " alt="" coords="5,535,212,1037"/>
<area shape="rect" href="classEigen_1_1SolverBase.html" title="A base class for matrix decomposition and solvers." alt="" coords="18,292,199,487"/>
<area shape="rect" href="structEigen_1_1EigenBase.html" title=" " alt="" coords="11,5,206,244"/>
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a9c247985636005f4aef20bc92f713cd3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1BDCSVD.html#a9c247985636005f4aef20bc92f713cd3">BDCSVD</a> ()</td></tr>
<tr class="memdesc:a9c247985636005f4aef20bc92f713cd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor.  <a href="classEigen_1_1BDCSVD.html#a9c247985636005f4aef20bc92f713cd3">More...</a><br /></td></tr>
<tr class="separator:a9c247985636005f4aef20bc92f713cd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a586d8a4d76bb40f315f8ae290419abf3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1BDCSVD.html#a586d8a4d76bb40f315f8ae290419abf3">BDCSVD</a> (const MatrixType &amp;matrix)</td></tr>
<tr class="memdesc:a586d8a4d76bb40f315f8ae290419abf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor performing the decomposition of given matrix, using the custom options specified with the <em>Options</em> template paramter.  <a href="classEigen_1_1BDCSVD.html#a586d8a4d76bb40f315f8ae290419abf3">More...</a><br /></td></tr>
<tr class="separator:a586d8a4d76bb40f315f8ae290419abf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30778887eb456715a333ccf9cb75f14e"><td class="memItemLeft" align="right" valign="top">EIGEN_DEPRECATED&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1BDCSVD.html#a30778887eb456715a333ccf9cb75f14e">BDCSVD</a> (const MatrixType &amp;matrix, unsigned int computationOptions)</td></tr>
<tr class="memdesc:a30778887eb456715a333ccf9cb75f14e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor performing the decomposition of given matrix using specified options for computing unitaries.  <a href="classEigen_1_1BDCSVD.html#a30778887eb456715a333ccf9cb75f14e">More...</a><br /></td></tr>
<tr class="separator:a30778887eb456715a333ccf9cb75f14e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa37310e3f27088f3e825f59ab822ef9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1BDCSVD.html#afa37310e3f27088f3e825f59ab822ef9">BDCSVD</a> (<a class="el" href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">Index</a> <a class="el" href="classEigen_1_1BDCSVD.html#ac22eb0695d00edd7d4a3b2d0a98b81c2">rows</a>, <a class="el" href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">Index</a> <a class="el" href="classEigen_1_1BDCSVD.html#a2d768a9877f5f69f49432d447b552bfe">cols</a>)</td></tr>
<tr class="memdesc:afa37310e3f27088f3e825f59ab822ef9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor with memory preallocation.  <a href="classEigen_1_1BDCSVD.html#afa37310e3f27088f3e825f59ab822ef9">More...</a><br /></td></tr>
<tr class="separator:afa37310e3f27088f3e825f59ab822ef9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d9fac78e0c239b2e8e92cd189932f21"><td class="memItemLeft" align="right" valign="top">EIGEN_DEPRECATED&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1BDCSVD.html#a7d9fac78e0c239b2e8e92cd189932f21">BDCSVD</a> (<a class="el" href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">Index</a> <a class="el" href="classEigen_1_1BDCSVD.html#ac22eb0695d00edd7d4a3b2d0a98b81c2">rows</a>, <a class="el" href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">Index</a> <a class="el" href="classEigen_1_1BDCSVD.html#a2d768a9877f5f69f49432d447b552bfe">cols</a>, unsigned int computationOptions)</td></tr>
<tr class="memdesc:a7d9fac78e0c239b2e8e92cd189932f21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor with memory preallocation.  <a href="classEigen_1_1BDCSVD.html#a7d9fac78e0c239b2e8e92cd189932f21">More...</a><br /></td></tr>
<tr class="separator:a7d9fac78e0c239b2e8e92cd189932f21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d768a9877f5f69f49432d447b552bfe"><td class="memItemLeft" align="right" valign="top">EIGEN_CONSTEXPR <a class="el" href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1BDCSVD.html#a2d768a9877f5f69f49432d447b552bfe">cols</a> () const EIGEN_NOEXCEPT</td></tr>
<tr class="separator:a2d768a9877f5f69f49432d447b552bfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d4028e15977308117e7ead7a21feee9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1BDCSVD.html">BDCSVD</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1BDCSVD.html#a1d4028e15977308117e7ead7a21feee9">compute</a> (const MatrixType &amp;matrix)</td></tr>
<tr class="memdesc:a1d4028e15977308117e7ead7a21feee9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method performing the decomposition of given matrix. Computes Thin/Full unitaries U/V if specified using the <em>Options</em> template parameter or the class constructor.  <a href="classEigen_1_1BDCSVD.html#a1d4028e15977308117e7ead7a21feee9">More...</a><br /></td></tr>
<tr class="separator:a1d4028e15977308117e7ead7a21feee9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada8a7edd2ddc8ab10fdea4b1b7c1b838"><td class="memItemLeft" align="right" valign="top">EIGEN_DEPRECATED <a class="el" href="classEigen_1_1BDCSVD.html">BDCSVD</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1BDCSVD.html#ada8a7edd2ddc8ab10fdea4b1b7c1b838">compute</a> (const MatrixType &amp;matrix, unsigned int computationOptions)</td></tr>
<tr class="memdesc:ada8a7edd2ddc8ab10fdea4b1b7c1b838"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method performing the decomposition of given matrix, as specified by the <code>computationOptions</code> parameter.  <a href="classEigen_1_1BDCSVD.html#ada8a7edd2ddc8ab10fdea4b1b7c1b838">More...</a><br /></td></tr>
<tr class="separator:ada8a7edd2ddc8ab10fdea4b1b7c1b838"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac22eb0695d00edd7d4a3b2d0a98b81c2"><td class="memItemLeft" align="right" valign="top">EIGEN_CONSTEXPR <a class="el" href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1BDCSVD.html#ac22eb0695d00edd7d4a3b2d0a98b81c2">rows</a> () const EIGEN_NOEXCEPT</td></tr>
<tr class="separator:ac22eb0695d00edd7d4a3b2d0a98b81c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classEigen_1_1SVDBase"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classEigen_1_1SVDBase')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classEigen_1_1SVDBase.html">Eigen::SVDBase&lt; BDCSVD&lt; MatrixType_, Options_ &gt; &gt;</a></td></tr>
<tr class="memitem:a705a7c2709e1624ccc19aa748a78d473 inherit pub_methods_classEigen_1_1SVDBase"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SVDBase.html#a705a7c2709e1624ccc19aa748a78d473">computeU</a> () const</td></tr>
<tr class="separator:a705a7c2709e1624ccc19aa748a78d473 inherit pub_methods_classEigen_1_1SVDBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f12efcb791eb007d4a4890ac5255ac4 inherit pub_methods_classEigen_1_1SVDBase"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SVDBase.html#a5f12efcb791eb007d4a4890ac5255ac4">computeV</a> () const</td></tr>
<tr class="separator:a5f12efcb791eb007d4a4890ac5255ac4 inherit pub_methods_classEigen_1_1SVDBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06c311bc452dc1ca5abce2f640e15292 inherit pub_methods_classEigen_1_1SVDBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__enums.html#ga85fad7b87587764e5cf6b513a9e0ee5e">ComputationInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SVDBase.html#a06c311bc452dc1ca5abce2f640e15292">info</a> () const</td></tr>
<tr class="memdesc:a06c311bc452dc1ca5abce2f640e15292 inherit pub_methods_classEigen_1_1SVDBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reports whether previous computation was successful.  <a href="classEigen_1_1SVDBase.html#a06c311bc452dc1ca5abce2f640e15292">More...</a><br /></td></tr>
<tr class="separator:a06c311bc452dc1ca5abce2f640e15292 inherit pub_methods_classEigen_1_1SVDBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc7fe1546b0f6e1801b86f22f5664cb8 inherit pub_methods_classEigen_1_1SVDBase"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Matrix.html">MatrixUType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SVDBase.html#afc7fe1546b0f6e1801b86f22f5664cb8">matrixU</a> () const</td></tr>
<tr class="separator:afc7fe1546b0f6e1801b86f22f5664cb8 inherit pub_methods_classEigen_1_1SVDBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a245a453b5e7347f737295c23133238c4 inherit pub_methods_classEigen_1_1SVDBase"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Matrix.html">MatrixVType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SVDBase.html#a245a453b5e7347f737295c23133238c4">matrixV</a> () const</td></tr>
<tr class="separator:a245a453b5e7347f737295c23133238c4 inherit pub_methods_classEigen_1_1SVDBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe8a555f38393a319a71ec0f0331c9ef inherit pub_methods_classEigen_1_1SVDBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SVDBase.html#afe8a555f38393a319a71ec0f0331c9ef">nonzeroSingularValues</a> () const</td></tr>
<tr class="separator:afe8a555f38393a319a71ec0f0331c9ef inherit pub_methods_classEigen_1_1SVDBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30b89e24f42f1692079eea31b361d26a inherit pub_methods_classEigen_1_1SVDBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SVDBase.html#a30b89e24f42f1692079eea31b361d26a">rank</a> () const</td></tr>
<tr class="separator:a30b89e24f42f1692079eea31b361d26a inherit pub_methods_classEigen_1_1SVDBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c95d05398fc15e410a28560ef70a5a6 inherit pub_methods_classEigen_1_1SVDBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1BDCSVD.html">BDCSVD</a>&lt; MatrixType_, Options_ &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SVDBase.html#a1c95d05398fc15e410a28560ef70a5a6">setThreshold</a> (const RealScalar &amp;<a class="el" href="classEigen_1_1SVDBase.html#a98b2ee98690358951807353812a05c69">threshold</a>)</td></tr>
<tr class="separator:a1c95d05398fc15e410a28560ef70a5a6 inherit pub_methods_classEigen_1_1SVDBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27586b69dbfb63f714d1d45fd6304f97 inherit pub_methods_classEigen_1_1SVDBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1BDCSVD.html">BDCSVD</a>&lt; MatrixType_, Options_ &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SVDBase.html#a27586b69dbfb63f714d1d45fd6304f97">setThreshold</a> (Default_t)</td></tr>
<tr class="separator:a27586b69dbfb63f714d1d45fd6304f97 inherit pub_methods_classEigen_1_1SVDBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e7bac123570c348f7ed6be909e1e474 inherit pub_methods_classEigen_1_1SVDBase"><td class="memItemLeft" align="right" valign="top">const SingularValuesType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SVDBase.html#a4e7bac123570c348f7ed6be909e1e474">singularValues</a> () const</td></tr>
<tr class="separator:a4e7bac123570c348f7ed6be909e1e474 inherit pub_methods_classEigen_1_1SVDBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab28499936c0764fe5b56b9f4de701e26 inherit pub_methods_classEigen_1_1SVDBase"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Solve.html">Solve</a>&lt; <a class="el" href="classEigen_1_1BDCSVD.html">BDCSVD</a>&lt; MatrixType_, Options_ &gt;, Rhs &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SVDBase.html#ab28499936c0764fe5b56b9f4de701e26">solve</a> (const <a class="el" href="classEigen_1_1MatrixBase.html">MatrixBase</a>&lt; Rhs &gt; &amp;b) const</td></tr>
<tr class="separator:ab28499936c0764fe5b56b9f4de701e26 inherit pub_methods_classEigen_1_1SVDBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98b2ee98690358951807353812a05c69 inherit pub_methods_classEigen_1_1SVDBase"><td class="memItemLeft" align="right" valign="top">RealScalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SVDBase.html#a98b2ee98690358951807353812a05c69">threshold</a> () const</td></tr>
<tr class="separator:a98b2ee98690358951807353812a05c69 inherit pub_methods_classEigen_1_1SVDBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classEigen_1_1SolverBase"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classEigen_1_1SolverBase')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classEigen_1_1SolverBase.html">Eigen::SolverBase&lt; Derived &gt;</a></td></tr>
<tr class="memitem:ae1025416bdb5a768f7213c67feb4dc33 inherit pub_methods_classEigen_1_1SolverBase"><td class="memItemLeft" align="right" valign="top">const AdjointReturnType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SolverBase.html#ae1025416bdb5a768f7213c67feb4dc33">adjoint</a> () const</td></tr>
<tr class="separator:ae1025416bdb5a768f7213c67feb4dc33 inherit pub_methods_classEigen_1_1SolverBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fbabe7f12bcbfba3b9a448b1f5e46fa inherit pub_methods_classEigen_1_1SolverBase"><td class="memItemLeft" align="right" valign="top">Derived &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SolverBase.html#a1fbabe7f12bcbfba3b9a448b1f5e46fa">derived</a> ()</td></tr>
<tr class="separator:a1fbabe7f12bcbfba3b9a448b1f5e46fa inherit pub_methods_classEigen_1_1SolverBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd4f3f1c57b7594b96a7e30f2974ea2e inherit pub_methods_classEigen_1_1SolverBase"><td class="memItemLeft" align="right" valign="top">const Derived &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SolverBase.html#afd4f3f1c57b7594b96a7e30f2974ea2e">derived</a> () const</td></tr>
<tr class="separator:afd4f3f1c57b7594b96a7e30f2974ea2e inherit pub_methods_classEigen_1_1SolverBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fd647d110487799205df6f99547879d inherit pub_methods_classEigen_1_1SolverBase"><td class="memTemplParams" colspan="2">template&lt;typename Rhs &gt; </td></tr>
<tr class="memitem:a7fd647d110487799205df6f99547879d inherit pub_methods_classEigen_1_1SolverBase"><td class="memTemplItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Solve.html">Solve</a>&lt; Derived, Rhs &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1SolverBase.html#a7fd647d110487799205df6f99547879d">solve</a> (const <a class="el" href="classEigen_1_1MatrixBase.html">MatrixBase</a>&lt; Rhs &gt; &amp;b) const</td></tr>
<tr class="separator:a7fd647d110487799205df6f99547879d inherit pub_methods_classEigen_1_1SolverBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d5e5baddfba3790ab1a5f247dcc4dc1 inherit pub_methods_classEigen_1_1SolverBase"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SolverBase.html#a4d5e5baddfba3790ab1a5f247dcc4dc1">SolverBase</a> ()</td></tr>
<tr class="separator:a4d5e5baddfba3790ab1a5f247dcc4dc1 inherit pub_methods_classEigen_1_1SolverBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70cf5cd1b31dbb4f4d61c436c83df6d3 inherit pub_methods_classEigen_1_1SolverBase"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Transpose.html">ConstTransposeReturnType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SolverBase.html#a70cf5cd1b31dbb4f4d61c436c83df6d3">transpose</a> () const</td></tr>
<tr class="separator:a70cf5cd1b31dbb4f4d61c436c83df6d3 inherit pub_methods_classEigen_1_1SolverBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_structEigen_1_1EigenBase"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structEigen_1_1EigenBase')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="structEigen_1_1EigenBase.html">Eigen::EigenBase&lt; Derived &gt;</a></td></tr>
<tr class="memitem:a2d768a9877f5f69f49432d447b552bfe inherit pub_methods_structEigen_1_1EigenBase"><td class="memItemLeft" align="right" valign="top">EIGEN_CONSTEXPR <a class="el" href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structEigen_1_1EigenBase.html#a2d768a9877f5f69f49432d447b552bfe">cols</a> () const EIGEN_NOEXCEPT</td></tr>
<tr class="separator:a2d768a9877f5f69f49432d447b552bfe inherit pub_methods_structEigen_1_1EigenBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fbabe7f12bcbfba3b9a448b1f5e46fa inherit pub_methods_structEigen_1_1EigenBase"><td class="memItemLeft" align="right" valign="top">Derived &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structEigen_1_1EigenBase.html#a1fbabe7f12bcbfba3b9a448b1f5e46fa">derived</a> ()</td></tr>
<tr class="separator:a1fbabe7f12bcbfba3b9a448b1f5e46fa inherit pub_methods_structEigen_1_1EigenBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd4f3f1c57b7594b96a7e30f2974ea2e inherit pub_methods_structEigen_1_1EigenBase"><td class="memItemLeft" align="right" valign="top">const Derived &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structEigen_1_1EigenBase.html#afd4f3f1c57b7594b96a7e30f2974ea2e">derived</a> () const</td></tr>
<tr class="separator:afd4f3f1c57b7594b96a7e30f2974ea2e inherit pub_methods_structEigen_1_1EigenBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac22eb0695d00edd7d4a3b2d0a98b81c2 inherit pub_methods_structEigen_1_1EigenBase"><td class="memItemLeft" align="right" valign="top">EIGEN_CONSTEXPR <a class="el" href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structEigen_1_1EigenBase.html#ac22eb0695d00edd7d4a3b2d0a98b81c2">rows</a> () const EIGEN_NOEXCEPT</td></tr>
<tr class="separator:ac22eb0695d00edd7d4a3b2d0a98b81c2 inherit pub_methods_structEigen_1_1EigenBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae106171b6fefd3f7af108a8283de36c9 inherit pub_methods_structEigen_1_1EigenBase"><td class="memItemLeft" align="right" valign="top">EIGEN_CONSTEXPR <a class="el" href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structEigen_1_1EigenBase.html#ae106171b6fefd3f7af108a8283de36c9">size</a> () const EIGEN_NOEXCEPT</td></tr>
<tr class="separator:ae106171b6fefd3f7af108a8283de36c9 inherit pub_methods_structEigen_1_1EigenBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classEigen_1_1SVDBase"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classEigen_1_1SVDBase')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classEigen_1_1SVDBase.html">Eigen::SVDBase&lt; BDCSVD&lt; MatrixType_, Options_ &gt; &gt;</a></td></tr>
<tr class="memitem:a6229a37997eca1072b52cca5ee7a2bec inherit pub_types_classEigen_1_1SVDBase"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceEigen.html#a62e77e0933482dafde8fe197d9a2cfde">Eigen::Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SVDBase.html#a6229a37997eca1072b52cca5ee7a2bec">Index</a></td></tr>
<tr class="separator:a6229a37997eca1072b52cca5ee7a2bec inherit pub_types_classEigen_1_1SVDBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_structEigen_1_1EigenBase"><td colspan="2" onclick="javascript:toggleInherit('pub_types_structEigen_1_1EigenBase')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="structEigen_1_1EigenBase.html">Eigen::EigenBase&lt; Derived &gt;</a></td></tr>
<tr class="memitem:a554f30542cc2316add4b1ea0a492ff02 inherit pub_types_structEigen_1_1EigenBase"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceEigen.html#a62e77e0933482dafde8fe197d9a2cfde">Eigen::Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">Index</a></td></tr>
<tr class="memdesc:a554f30542cc2316add4b1ea0a492ff02 inherit pub_types_structEigen_1_1EigenBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">The interface type of indices.  <a href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">More...</a><br /></td></tr>
<tr class="separator:a554f30542cc2316add4b1ea0a492ff02 inherit pub_types_structEigen_1_1EigenBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classEigen_1_1SVDBase"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classEigen_1_1SVDBase')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classEigen_1_1SVDBase.html">Eigen::SVDBase&lt; BDCSVD&lt; MatrixType_, Options_ &gt; &gt;</a></td></tr>
<tr class="memitem:abed06fc6f4b743e1f76a7b317539da87 inherit pro_methods_classEigen_1_1SVDBase"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SVDBase.html#abed06fc6f4b743e1f76a7b317539da87">SVDBase</a> ()</td></tr>
<tr class="memdesc:abed06fc6f4b743e1f76a7b317539da87 inherit pro_methods_classEigen_1_1SVDBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor.  <a href="classEigen_1_1SVDBase.html#abed06fc6f4b743e1f76a7b317539da87">More...</a><br /></td></tr>
<tr class="separator:abed06fc6f4b743e1f76a7b317539da87 inherit pro_methods_classEigen_1_1SVDBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a9c247985636005f4aef20bc92f713cd3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c247985636005f4aef20bc92f713cd3">&#9670;&nbsp;</a></span>BDCSVD() <span class="overload">[1/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MatrixType_ , int Options_&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1BDCSVD.html">Eigen::BDCSVD</a>&lt; MatrixType_, Options_ &gt;::<a class="el" href="classEigen_1_1BDCSVD.html">BDCSVD</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default Constructor. </p>
<p>The default constructor is useful in cases in which the user intends to perform decompositions via <a class="el" href="classEigen_1_1BDCSVD.html#a1d4028e15977308117e7ead7a21feee9" title="Method performing the decomposition of given matrix. Computes Thin/Full unitaries U/V if specified us...">BDCSVD::compute(const MatrixType&amp;)</a>. </p>

</div>
</div>
<a id="afa37310e3f27088f3e825f59ab822ef9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa37310e3f27088f3e825f59ab822ef9">&#9670;&nbsp;</a></span>BDCSVD() <span class="overload">[2/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MatrixType_ , int Options_&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1BDCSVD.html">Eigen::BDCSVD</a>&lt; MatrixType_, Options_ &gt;::<a class="el" href="classEigen_1_1BDCSVD.html">BDCSVD</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">Index</a>&#160;</td>
          <td class="paramname"><em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">Index</a>&#160;</td>
          <td class="paramname"><em>cols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default Constructor with memory preallocation. </p>
<p>Like the default constructor but with preallocation of the internal data according to the specified problem size and <em>Options</em> template parameter. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classEigen_1_1BDCSVD.html#a9c247985636005f4aef20bc92f713cd3" title="Default Constructor.">BDCSVD()</a> </dd></dl>

</div>
</div>
<a id="a7d9fac78e0c239b2e8e92cd189932f21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d9fac78e0c239b2e8e92cd189932f21">&#9670;&nbsp;</a></span>BDCSVD() <span class="overload">[3/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MatrixType_ , int Options_&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">EIGEN_DEPRECATED <a class="el" href="classEigen_1_1BDCSVD.html">Eigen::BDCSVD</a>&lt; MatrixType_, Options_ &gt;::<a class="el" href="classEigen_1_1BDCSVD.html">BDCSVD</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">Index</a>&#160;</td>
          <td class="paramname"><em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">Index</a>&#160;</td>
          <td class="paramname"><em>cols</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>computationOptions</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default Constructor with memory preallocation. </p>
<p>Like the default constructor but with preallocation of the internal data according to the specified problem size and the <em>computationOptions</em>.</p>
<p>One <b>cannot</b> request unitiaries using both the <em>Options</em> template parameter and the constructor. If possible, prefer using the <em>Options</em> template parameter.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">computationOptions</td><td>specifification for computing Thin/Full unitaries U/V </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classEigen_1_1BDCSVD.html#a9c247985636005f4aef20bc92f713cd3" title="Default Constructor.">BDCSVD()</a></dd></dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000033">Deprecated:</a></b></dt><dd>Will be removed in the next major <a class="el" href="namespaceEigen.html" title="Namespace containing all symbols from the Eigen library.">Eigen</a> version. Options should be specified in the <em>Options</em> template parameter. </dd></dl>

</div>
</div>
<a id="a586d8a4d76bb40f315f8ae290419abf3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a586d8a4d76bb40f315f8ae290419abf3">&#9670;&nbsp;</a></span>BDCSVD() <span class="overload">[4/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MatrixType_ , int Options_&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1BDCSVD.html">Eigen::BDCSVD</a>&lt; MatrixType_, Options_ &gt;::<a class="el" href="classEigen_1_1BDCSVD.html">BDCSVD</a> </td>
          <td>(</td>
          <td class="paramtype">const MatrixType &amp;&#160;</td>
          <td class="paramname"><em>matrix</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor performing the decomposition of given matrix, using the custom options specified with the <em>Options</em> template paramter. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">matrix</td><td>the matrix to decompose </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a30778887eb456715a333ccf9cb75f14e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30778887eb456715a333ccf9cb75f14e">&#9670;&nbsp;</a></span>BDCSVD() <span class="overload">[5/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MatrixType_ , int Options_&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">EIGEN_DEPRECATED <a class="el" href="classEigen_1_1BDCSVD.html">Eigen::BDCSVD</a>&lt; MatrixType_, Options_ &gt;::<a class="el" href="classEigen_1_1BDCSVD.html">BDCSVD</a> </td>
          <td>(</td>
          <td class="paramtype">const MatrixType &amp;&#160;</td>
          <td class="paramname"><em>matrix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>computationOptions</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor performing the decomposition of given matrix using specified options for computing unitaries. </p>
<p>One <b>cannot</b> request unitiaries using both the <em>Options</em> template parameter and the constructor. If possible, prefer using the <em>Options</em> template parameter.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">matrix</td><td>the matrix to decompose </td></tr>
    <tr><td class="paramname">computationOptions</td><td>specifification for computing Thin/Full unitaries U/V</td></tr>
  </table>
  </dd>
</dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000034">Deprecated:</a></b></dt><dd>Will be removed in the next major <a class="el" href="namespaceEigen.html" title="Namespace containing all symbols from the Eigen library.">Eigen</a> version. Options should be specified in the <em>Options</em> template parameter. </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a2d768a9877f5f69f49432d447b552bfe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d768a9877f5f69f49432d447b552bfe">&#9670;&nbsp;</a></span>cols()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MatrixType_ , int Options_&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">EIGEN_CONSTEXPR <a class="el" href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">Index</a> <a class="el" href="structEigen_1_1EigenBase.html">Eigen::EigenBase</a>&lt; Derived &gt;::cols </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the number of columns. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classEigen_1_1BDCSVD.html#ac22eb0695d00edd7d4a3b2d0a98b81c2">rows()</a>, ColsAtCompileTime </dd></dl>

</div>
</div>
<a id="a1d4028e15977308117e7ead7a21feee9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d4028e15977308117e7ead7a21feee9">&#9670;&nbsp;</a></span>compute() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MatrixType_ , int Options_&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1BDCSVD.html">BDCSVD</a>&amp; <a class="el" href="classEigen_1_1BDCSVD.html">Eigen::BDCSVD</a>&lt; MatrixType_, Options_ &gt;::compute </td>
          <td>(</td>
          <td class="paramtype">const MatrixType &amp;&#160;</td>
          <td class="paramname"><em>matrix</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method performing the decomposition of given matrix. Computes Thin/Full unitaries U/V if specified using the <em>Options</em> template parameter or the class constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">matrix</td><td>the matrix to decompose </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ada8a7edd2ddc8ab10fdea4b1b7c1b838"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada8a7edd2ddc8ab10fdea4b1b7c1b838">&#9670;&nbsp;</a></span>compute() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MatrixType_ , int Options_&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">EIGEN_DEPRECATED <a class="el" href="classEigen_1_1BDCSVD.html">BDCSVD</a>&amp; <a class="el" href="classEigen_1_1BDCSVD.html">Eigen::BDCSVD</a>&lt; MatrixType_, Options_ &gt;::compute </td>
          <td>(</td>
          <td class="paramtype">const MatrixType &amp;&#160;</td>
          <td class="paramname"><em>matrix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>computationOptions</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method performing the decomposition of given matrix, as specified by the <code>computationOptions</code> parameter. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">matrix</td><td>the matrix to decompose </td></tr>
    <tr><td class="paramname">computationOptions</td><td>specify whether to compute Thin/Full unitaries U/V</td></tr>
  </table>
  </dd>
</dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000035">Deprecated:</a></b></dt><dd>Will be removed in the next major <a class="el" href="namespaceEigen.html" title="Namespace containing all symbols from the Eigen library.">Eigen</a> version. Options should be specified in the <em>Options</em> template parameter. </dd></dl>

</div>
</div>
<a id="ac22eb0695d00edd7d4a3b2d0a98b81c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac22eb0695d00edd7d4a3b2d0a98b81c2">&#9670;&nbsp;</a></span>rows()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MatrixType_ , int Options_&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">EIGEN_CONSTEXPR <a class="el" href="structEigen_1_1EigenBase.html#a554f30542cc2316add4b1ea0a492ff02">Index</a> <a class="el" href="structEigen_1_1EigenBase.html">Eigen::EigenBase</a>&lt; Derived &gt;::rows </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the number of rows. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classEigen_1_1BDCSVD.html#a2d768a9877f5f69f49432d447b552bfe">cols()</a>, RowsAtCompileTime </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="BDCSVD_8h_source.html">BDCSVD.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespaceEigen.html">Eigen</a></li><li class="navelem"><a class="el" href="classEigen_1_1BDCSVD.html">BDCSVD</a></li>
    <li class="footer">Generated on Thu Apr 21 2022 13:07:55 for Eigen by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
